Skip to content
2026-09-29 04:20482 字AIRAG检索增强生成

RAG 概述 ​

背景 ​

大模型(如 ChatGPT)存在两个固有缺陷:幻觉(生成不实信息)和知识时效性(训练数据截止时间限制)。对于企业私有知识,模型更无法直接访问。

解决方案有两种:

  1. 垂直领域微调:融合企业私有知识重新训练
  2. RAG(检索增强生成):通过检索外部知识库,将相关文档注入 prompt,减少幻觉,提高准确性和时效性

原理 ​

RAG 在生成回答前,先从外部知识库中检索与用户问题相关的文档片段,将其与问题拼接后送入大模型生成答案。核心思路:让 LLM 先"查资料"再回答。

典型项目流程(以 Java 学科在线答疑系统为例) ​

  1. QA 数据入库:将历史 QA 数据集存入 MySQL
  2. MySQL 快速匹配:用户 query 与历史问题做相似度计算
    • 相似度 ≥ 0.85 → 直接返回已有答案
    • 相似度 < 0.85 → 进入 RAG 系统检索
  3. 本地知识库搭建:
    • 加载本地文档
    • 文档切分(分割为 chunks)
    • 向量化(Embedding)
    • 存入向量数据库(Milvus)
  4. Milvus 检索:query 向量化后检索 top-k 相似文本段
  5. 生成答案:query + 检索文本段拼接,送入 LLM 生成最终结果

核心工具 ​

工具作用
Ollama开源大模型服务工具,支持本地运行大模型
LangChainLLM 通用接口框架,链接各组件,简化应用开发
Milvus开源向量数据库,存储和检索嵌入向量

环境依赖 ​

  • Python ≥ 3.10
  • pip install faiss-cpu langchain qianfan(内容由AI生成,仅供参考)

每一篇文章,都是时间的标本